iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
SideProject30

人機控制介面之開發應用系列 第 18

共陰極七段顯示器-利用餘數原理精簡 Arduino code

  • 分享至 

  • xImage
  •  
  1. index 變量用 static(靜態)修飾,即使離開 loop() 函數,它還是保持其值不變
  2. index = (index + 1) % 10; 會使 index 值在 0 到 9 之間循環
  3. (%)模數運算為兩數相除後的餘數,藉此取代index ++,以精簡程式碼
  4. 首先檢測七段顯示器為共陰或共陽極
  5. 將三用電表黑針碰針角3,紅針碰針角4,針角4的的C位置發亮,證明為共陰極

https://ithelp.ithome.com.tw/upload/images/20230930/201607449a0SscyniD.jpg
參考資料如何測量七段顯示器

Arduino程式碼

const byte LEDs[10] = {
  B1111110, B0110000, B1101101, B1111001, B0110011,
  B1011011, B1011111, B1110000, B1111111, B1111011
};

void setup() {
  DDRD = B11111111; //0~7 腳位,全設定"輸出"
}

void loop() {
  static byte index = 0; // 把 index 宣告為 static,保持其在 loop 之間的值
  
  //From LEDs 陣列中,取出 0~9 元素
  //首先取第0個元素,由"埠口D"輸出
  PORTD = LEDs[index];

  index = (index + 1) % 10; // 使用模數運算使 index 在0~9之間循環

  delay(1000);
}

程式碼ino檔 github下載

實作影片
Yes

參考資料
1.超圖解Arduino 互動設計入門
2.Arduino - PortManipulation
3.Arduino範例講解(四)


上一篇
For迴圈來製作紅綠燈專案-Arduino code
下一篇
熟悉Arduino的晶片ATmega晶片處理器之DDRD, PORTD指令
系列文
人機控制介面之開發應用37
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言